import sys
import numpy as np
from PySide2.QtWidgets import QApplication
import pyqtgraph.opengl as gl
from pyqtgraph.Qt import QtCore

# 创建一个Qt应用程序
app = QApplication([])

# 创建一个3D窗口
view = gl.GLViewWidget()
view.show()

# 创建一个3D场景
scene = gl.GLScatterPlotItem()
view.addItem(scene)

# 创建一个GLBoxItem，表示方块
box = gl.GLBoxItem()
scene.addItem(box)

# 创建一个函数，用于更新方块的旋转角度
def rotate_box():
    angle = 1  # 旋转的角度增量
    box.rotate(1, 1, 1, angle)  # 绕X、Y、Z轴旋转

# 创建一个Qt定时器，用于定期调用旋转函数
timer = QtCore.QTimer()
timer.timeout.connect(rotate_box)
timer.start(10)  # 每10毫秒调用一次旋转函数

if __name__ == '__main__':
    if sys.flags.interactive != 1 or not hasattr(QtCore, 'PYQT_VERSION'):
        sys.exit(app.exec_())
